package com.five.service;

import com.five.pojo.Comment;
import com.five.pojo.NovelCategory;
import com.five.pojo.Reader;
import com.five.vo.NovelRankVo;

import java.util.List;

import java.util.List;

public interface ReaderService {

    /**
     * 根据手机号信息查询读者信息
     * @param phone
     * @return
     */
    Reader queryByPhone(String phone);

    /**
     * 根据邮箱信息查询读者信息
     * @param email
     * @return
     */
    Reader queryByEmail(String email);

    /**
     * 根据用户名信息查询读者信息
     * @param loginInfoId
     * @return
     */
    Reader queryByLoginInfoId(Long loginInfoId);

    /**
     * 插入读者信息
     * @param reader
     */
    void insertReader(Reader reader);

    /**
     * 更新读者信息
     * @param reader
     */
    void updateReader(Reader reader);

    /**
     * 根据账号信息查询读者信息
     * @param account
     */
    Reader queryByAccount(String account);
    /**
     * 修改读者密码
     */

    void updatePassword(String newPassword,Long id);

    /**
     * 修改读者信息
     */
    void update(Reader reader);

    void deleteByLoginInfoId(Long id);

    /**
     * 根据小说id查询读者对该书的评论及回复
     */
    List<Comment> getCommentByNovelId(Long novelId);

    /**
     * 更新评论的回复数量
     * @param commentId
     */
    void updateReplyCount(Long commentId);

    Integer getReaderTypeById(String token);

    List<NovelCategory> getNovelTreeByType(Long type);

    List<NovelRankVo> rankTop10Collect();

    List<NovelRankVo> listNovelByCategory(Long categoryId);
}